/*
在小学时我们就学习了分数的四则运算，即对两个分数进行加、减、乘、除等运算，现在我们尝试下用C语言来实现。

输入：

分数1 操作符 分数2

输出：

计算结果

要求：

计算结果使用分数表示，并且为最简化。例如结果为2/6，则被简化为1/3
*/

/*
测试用例1：
输入：
1/3 + 1/2↵
输出：
1/3 + 1/2 = 5/6↵

测试用例2：
输入：
1/6 + 1/6↵
输出：
1/6 + 1/6 = 1/3↵
*/
#include <iostream>
using namespace std;

// 分数的结构
struct Fraction
{
	int numerator;  // 分子
	int denominator; // 分母
};

// 分数的简化操作
void simplify(Fraction &result)
{
	// 找到最大公约数
	int a = result.numerator, b = result.denominator;
	while(b!=0)
	{
		int temp = b;
		b = a % b;
		a = temp;
	}
	
	// 约分操作
	result.numerator /= a;
	result.denominator /= a;
}

int main(int argc, char *argv[]) {
	
	// 接收用户输入
	Fraction f1, f2;
	char op;
	scanf("%d/%d %c %d/%d", &f1.numerator, &f1.denominator, &op, &f2.numerator, &f2.denominator);
	
	// 进行运算
	Fraction result;
	switch(op)
	{
		case '+':
			result.denominator = f1.denominator * f2.denominator;
			result.numerator = f1.numerator * f2.denominator + f2.numerator * f1.denominator;
			break;
		case '-':
			result.denominator = f1.denominator * f2.denominator;
			result.numerator = f1.numerator * f2.denominator - f2.numerator * f1.denominator;
			break;
		case '*':
			result.denominator = f1.denominator * f2.denominator;
			result.numerator = f1.numerator * f2.numerator;
			break;
		case '/':
			result.denominator = f1.denominator * f2.numerator;
			result.numerator = f1.numerator * f2.denominator;
			break;
	}
	
	// 分数的简化操作
	simplify(result);
	// 打印
	printf("%d/%d %c %d/%d = %d/%d\n", f1.numerator, f1.denominator, op, 
		f2.numerator, f2.denominator, result.numerator, result.denominator);
}